package 两两交换链表中的节点;

public class Solution3 {
    public ListNode swapPairs(ListNode head) {

        // 递归的出口：当前节点没有相邻的节点
        if ( head == null || head.next == null ){
            return head;
        }
        // next即相邻节点的第二个节点
        ListNode next = head.next;
        // 两个节点之后的节点
        ListNode newNode = swapPairs(next.next);
        // 交换节点
        next.next = head;
        head.next = newNode;
        return next;
    }
}
